CS231 第九讲 CNN架构
课程视频地址:https://study.163.com/courses-search?keyword=CS231
课程主页:http://cs231n.stanford.edu/2017/
这一讲介绍了一些CNN架构。
AlexNet
第一个例子是AlexNet,其架构如下
上图中每一层拆成两部分是因为当时内存不够的原因。
VGGNet
VGGNet相比AlexNet来说层数更多,其网络架构如下
GoogLeNet
GoogLeNet考虑到计算的问题,利用Inception模块减少了很多参数,Inception模块是一个局部网络,GoogLeNet将很多个Inception模块组成一个大网络,其架构如下
每个Inception模块中进行了并行滤波操作,例如进行多个卷积操作以及池化操作
这样做有一个问题,就是参数会非常多,我们来看个具体例子
从上图中可以看出,如果利用之前所述的架构,那么每个Inception模块计算量就会很大。该问题的解决方案是首先利用$1\times 1$卷积核降低深度,效果如下
在实际中,还用了池化操作,优化后的网络结构如下
利用上述操作减少了大量参数以及操作。
ResNet
ResNet和之前的网络架构相比层数要深的多,达到了152层,它最大特点是使用了残差连接,网络架构如下
之前的网络架构都是想通过增加深度来提升效果,但实际中效果并非如此,这是因为深度越大,网络也越难优化,最后的效果可能还不如浅层的网络
一个比较合理的假设是深层网络的效果至少不比浅层网络差,这里采取的思路是使用残差连接:
和没有残差连接相比,使用残差连接后我们只要拟合残差
如果卷积层的参数为$0$,那么$H(x)= x$,这样就相当于一个少两层的网络,这一点保证了深层网络至少和浅层网络效果一样好。
课程中还介绍了一些不大常见的网络,这里略过。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Doraemonzzz!
评论
ValineLivere